package org.jeecg.modules.rooms.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 房型价格管理表
 * </p>
 *
 * @author fendo
 * @since 2023-03-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("ces_room_layout_price")
public class CesRoomLayoutPrice extends Model<CesRoomLayoutPrice> {

    private static final long serialVersionUID = 1L;

    private String id;

    /**
     * 酒店ID
     */
    @TableField("hotelId")
    private String hotelId;

    /**
     * 房型ID
     */
    @TableField("layoutId")
    private String layoutId;

    /**
     * 价格名称
     */
    private String name;

    /**
     * 原价
     */
    private BigDecimal oprice;

    /**
     * 是否预付
     */
    private Boolean prepay;

    /**
     * 现价
     */
    private BigDecimal price;

    /**
     * 类型 1 全天  2  钟点
     */
    private Integer type;

    /**
     * 是否vip
     */
    @TableField("isVip")
    private Boolean isVip;

    /**
     * 积分
     */
    private Integer integral;

    /**
     * 数量
     */
    private Integer num;

    /**
     * 开始时间
     */
    @TableField("startDate")
    private String startDate;

    /**
     * 结束时间
     */
    @TableField("endDate")
    private String endDate;

    /**
     * 钟点房方案
     */
    @TableField("sellerId")
    private String sellerId;

    /**
     * 创建时间
     */
    @TableField("createAt")
    private LocalDateTime createAt;

    /**
     * 修改时间
     */
    @TableField("updateAt")
    private LocalDateTime updateAt;

    /**
     * 逻辑删除字段
     */
    private Boolean invalid;


    public static final String ID = "id";

    public static final String HOTELID = "hotelId";

    public static final String LAYOUTID = "layoutId";

    public static final String NAME = "name";

    public static final String OPRICE = "oprice";

    public static final String PREPAY = "prepay";

    public static final String PRICE = "price";

    public static final String TYPE = "type";

    public static final String ISVIP = "isVip";

    public static final String INTEGRAL = "integral";

    public static final String NUM = "num";

    public static final String STARTDATE = "startDate";

    public static final String ENDDATE = "endDate";

    public static final String SELLERID = "sellerId";

    public static final String CREATEAT = "createAt";

    public static final String UPDATEAT = "updateAt";

    public static final String INVALID = "invalid";

    @Override
    public Serializable pkVal() {
        return this.id;
    }

}
